/*
 *------------------------------------------------------------------------------
 * @File      :    ei_mai_nna.h
 * @Date      :    2021-4-8
 * @Author    :    lomboswer <lomboswer@lombotech.com>
 * @Brief     :    Media Interface for MADP(Media Development Platform).
 *
 * Copyright (C) 2020-2021, LomboTech Co.Ltd. All rights reserved.
 *------------------------------------------------------------------------------
 */

#ifndef __EI_NNA_HUM_DET_DEFINE_H__
#define __EI_NNA_HUM_DET_DEFINE_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include "ei_nna_define.h"

#define DEFAULT_NNA_HUM_DET_CONFIG_MAX_DET (30)
#define DEFAULT_NNA_HUM_DET_CONFIG_IOU_THRESH (45)
#define DEFAULT_NNA_HUM_DET_CONFIG_CONF_THRESH (50)

typedef struct eiNNA_HUMAN_S {
	/* x0,y0,x1,y1 */
	EI_S32 s32Rect[4];
	EI_S32 s32SmoothRect[4];

	/* score */
	EI_FLOAT f32Score;

	/* id */
	EI_S32 s32ID;

	/* area */
	EI_S32 s32Area;

	/* track falg */
	EI_S32 s32VisualTrack;
} EI_NNA_HUMAN_S;

typedef struct eiNNA_HUMANS_S {
	EI_S32 s32Num;
	EI_NNA_HUMAN_S stHumanRect[DEFAULT_NNA_HUM_DET_CONFIG_MAX_DET];
} EI_NNA_HUMANS_S;

typedef struct eiMAI_NNA_HUM_CONFIG_S {
	EI_CHAR *ModelRootPath;

	EI_S32 s32Width;
	EI_S32 s32Height;
	EI_S32 s32MaxHumCnt;
	EI_S32 s32IouThr;
	EI_S32 s32ConfThr;

	EI_NNA_AX_FREQ_S stFreq;
} EI_NNA_HUM_DET_CONFIG_S;

typedef EI_S32 NNA_HD_CHN;
typedef EI_NNA_HUM_DET_CONFIG_S EI_NNA_HD_CONFIG_S;
typedef EI_NNA_HUMANS_S EI_NNA_DST_HD_S;

#ifdef __cplusplus
}
#endif

#endif
